Magnetic and optical disk storage devices are commonly used by host computer systems to store large amounts of digital data in a non-volatile manner. Typically, the disk storage medium spinning within the storage device is partitioned into a number of data tracks (concentrically spaced for magnetic and concentric or spiral for optical), where each data track is further partitioned into a number of data sectors. To write and read data to and from a target data sector on a particular track, a recording head (read/write head) is positioned over the track by a servo controller. Then, to write data to the track, the data serves to modulate a current in a write coil (or intensity of a laser beam) of the recording head in order to write a sequence of corresponding magnetic flux (or reflective optical) transitions onto the surface of the disk. To read this recorded data, the recording head again passes over the track and transduces the magnetic flux (or reflective optical) transitions into an analog read signal comprising a sequence of pulses representing the recorded data. These pulses are then detected and decoded into an estimated data sequence by a read channel and, in the absence of errors, the estimated data sequence matches the recorded data sequence.
FIG. 1A shows a typical format of a disk storage medium wherein the data tracks 13 are recorded as concentric, radially spaced "rings" of information. Each track comprises a predetermined number of data sectors 15 with embedded servo wedges or servo spokes 17 recorded at a regular interval around the disk. The embedded servo wedges are processed by a servo controller in order to position the recording head over a selected track during read and write operations. As shown in FIG. 1B, each servo sector of a servo wedge typically comprises timing information (preamble 68 and sync 70) for synchronizing to the servo data 71 (similar to a data sector 15 shown in FIG. 1C), where the servo data 71 includes a track address 73 for coarse positioning the recording head over a selected track, and servo bursts 75 located at precise intervals and offsets for fine positioning the recording head over the centerline of the selected track.
Thus, during read and write operations the servo controller performs two functions: seeking to a selected track using the track addresses, and tracking the centerline of the track using the servo bursts. Seeking to a selected track entails moving the recording head radially over the surface of the disk until it reaches the target track. As the recording head traverses radially over the disk, the servo controller reads the current track address recorded in the embedded servo wedges to determine the current location of the recording head. An intrinsic design consideration is that when seeking to a selected track the recording head may fly between two adjacent tracks when reading the servo wedge. If so, it is important that the detected track address decode into one of the two adjacent track addresses to avoid errors in the operation of the servo controller.
Prior art disk storage systems typically employ a coding technique, referred to as a Gray code, for ensuring that the ambiguity in the detected address due to intertrack interference is resolved in favor of one of two adjacent track addresses. The enabling characteristic of a Gray code is that codewords representing adjacent track addresses differ by only one adjacent bit in the NRZ domain (two adjacent bits in the NRZI domain). FIG. 4 shows a conventional servo encoder which encodes NRZ binary track addresses into NRZ Gray code track addresses recorded to the disk, where adjacent NRZ Gray code track addresses are different in only one bit. In this manner, when the recording head flies between two adjacent tracks during a seek operation, the ambiguity in the detected codeword will be resolved in favor of one of the two adjacent track addresses.
Another intrinsic design consideration in developing a servo system for disk storage systems is the integrity of the detected servo data. Errors in the detected servo data caused by noise in the read signal degrade the performance of the servo controller in both the seeking and tracking operations. Conventionally, the servo data in the servo wedges 17 are recorded at a very low density, thereby minimizing the errors caused by intersymbol interference (ISI). Additionally, magnetic storage systems normally record the servo data with a d=1 run-length limited (RLL) code constraint to prevent writing adjacent magnetic transitions, thereby minimizing errors caused by a phenomenon known as non-linear transition shift (NLTS). NLTS occurs when the demagnetizing field from a first transition interacts with the field of the write head and shifts the position of an immediately following transition as it is written to the disk.
Although error correction codes (ECC) are well known (e.g., Hamming, CRC, Reed-Solomon, etc.) and typically employed to correct errors in the user data of the data sectors, such codes are normally not used to correct errors in the servo data. The reason ECC is not used to correct servo data is presumably due to the above described Gray code constraint. That is, servo data cannot be encoded using a conventional error correcting code, such as a Hamming code, and then arranged such that adjacent track addresses are different in only one bit.
A modern trend in disk storage systems is to increase the amount of data stored in the servo wedges; for example, the servo wedges may include data for locating the relative position of the data sectors in what are referred to as"ID-Less" disk storage systems. As the amount of data in the servo wedges increases, the servo wedges begin to consume a significant amount of the recordable area of the track. One way to reduce the area consumed by the servo wedges is to increase the recording density of the servo wedges, but as described above, this increases the number of errors caused by ISI.
There is, therefore, a need for a servo coding scheme that improves the data integrity of the servo data in general, thereby allowing faster seeking operations and more reliable tracking operations. Furthermore, there is a need for a servo coding scheme that allows for a higher recording density by compensating for the increased number of bit errors due to the increase in ISI.